package com.tbit.utils;

import com.tbit.uqbike.manager.exception.BaseException;

/**
 * 断言
 *
 * @author Leon
 * 2013-10-15 上午10:41:45
 */
public abstract class Assert {

    /**
     * 非Null断言
     *
     * @param object
     * @param message
     */
    public static void notNull(Object object, String message) {
        if (object == null) {
            throw new BaseException(message);
        }
    }

    /**
     * 非Null断言
     *
     * @param objects
     * @param message
     */
    public static void notNulls(String message, Object... objects) {
        for (Object o : objects) {
            if (o == null) {
                throw new BaseException(message);
            }
            if (o instanceof String && "".equals(o.toString())) {
                throw new BaseException(message);
            }
        }
    }

    /**
     * 空串断言
     *
     * @param text
     * @param message
     */
    public static void hasLength(String text, String message) {
        if (!(text != null && text.length() > 0)) {
            throw new BaseException(message);
        }
    }

    /**
     * 非空&空串断言
     *
     * @param text
     * @param message
     */
    public static void notNullAndHasLength(String text, String message) {
        if (text == null || text.isEmpty()) {
            throw new BaseException(message);
        }
    }

    /**
     * 非空&空串断言
     *
     * @param text
     * @param message
     */
    public static void isTrue(Boolean isTrue, String message) {
        if (isTrue == null || !isTrue) {
            throw new BaseException(message);
        }
    }


}
